Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 31

Thread: Understanding the Reborn Intermission Event

  1. #21
    Developer Sor's Avatar
    Join Date
    Aug 2010
    Location
    The Medieval City of Bruges
    Posts
    747

    Default

    So...


    The map change type only ever occurs if the map literally changes. In other words: nextMap != currentMap.

    This can be triggered by rcon 'map' command, the bsp- and leveltransition scripting commands and
    trigger_changelevel (so generally speaking; any command that can change a map).

    Oh, even if you explicitly try to load the same map via rcon or otherwise, the game will only restart it.
    Actually, this could explain the problems that servers have when they keep running the same map, but
    I'm getting side-tracked.


    The player intermission type then only happens when the 'level' on the current map has ended.
    With 'level' I mean that either the fraglimit or the timelimit has been breached.

    (If I'm not mistaken, if the timelimit is exceeded in gametypes 3 and 4, then the game will wait until
    either fraglimit or roundlimit has been breached. Same result, though.)

    Interestingly, the scripting commands 'bsptransition' and 'leveltransition' will always trigger the actual
    15 second player intermission screen before loading maps; however this event is not fired (probably
    because g_gametype has to temporarily be 0 (single player) in order for these commands to work).


    The map restart type happens when a round has ended. A round typically ends in a victory
    (or a draw) or because the roundlimit was exceeded.

    If the level ends, no more rounds will follow and thus no more restarts unless, as mentioned above,
    the map itself does not change.

    This event is also triggered by (rcon) restart command as well as do- and finishroundtransition
    scripting commands (so generally speaking; any command that initiates a map restart).


    Does this sum it up nicely? Correct me if I'm wrong somewhere.
    Last edited by Sor; May 22nd, 2013 at 11:36 AM.
    Morpheus Script (MoH) => You try to shoot yourself in the foot only to discover that MorpheusScript already shot your foot for you.

  2. #22
    Über Prodigy & Developer Razo[R]apiD's Avatar
    Join Date
    May 2010
    Location
    Poland, Lublin
    Posts
    3,245

    Default

    @own3mall

    I stated many times before that I've fixed intermission restart type because it was triggering only once and never again until map got changed. Now it triggers properly every single restart.

  3. #23

    Default

    Quote Originally Posted by Razo[R]apiD View Post
    @own3mall

    I stated many times before that I've fixed intermission restart type because it was triggering only once and never again until map got changed. Now it triggers properly every single restart.
    Yes, but I didn't understand what you were talking about at the time. It needs to be spelled out for those of us who aren't programming these features, as we're unfortunately noobs to the functionality it adds.

    @Sor, It should read something like this:

    The map change type (where local.type is equal to 1) occurs only when the map changes. A map can change through the use of console commands or after the fraglimit or timelimit has been reached for the current map, assuming the map does not repeat. This means that the map change intermission may follow the player intermission type if a different map is to be loaded.

    This can be triggered by the rcon 'map' command, the bsp- and leveltransition scripting commands. and
    trigger_changelevel (so generally speaking; any command that can change a map).

    If you use "rcon map" to load the same map that is currently being played, the server acts as if the map is changing, and the map change intermission type will also occur.

    The player intermission type (where local.type is equal to 0) happens when the 'level' on the current map has ended.
    This occurs when either the fraglimit or the timelimit has been reached.

    The map restart type (where local.type is equal to 2) happens when a round has ended. A round typically ends in a victory
    (or a draw) or because the roundlimit was exceeded.

    If the level ends, no more rounds will follow and thus no more restarts will occur. However, if the map itself does not change (single map rotation specified in the sv_maplist server.cfg setting), the restart intermission type will directly follow the player intermission type before "replaying" the map.

    This event is also triggered by (rcon) restart command as well as do- and finishroundtransition
    scripting commands (so generally speaking; any command that initiates a map restart).
    Last edited by own3mall; May 22nd, 2013 at 07:09 PM.
    Browse MOHAA Servers Post GameSpy Era

    VISIT MOHREBORN.COM FOR LATEST INFORMATION



    Medal of Honor: Game Server Browser Fixer - Patches your MOHAA, MOHSH, and MOHBT game binaries to allow you to retrieve a list of game servers within the multi-player menu in-game even after GameSpy ceases operation!

    Medal of Honor: Query Launcher - Find, browse, organize, join, get your ping, and get more information regarding all Medal of Honor (AA, SH, & BT) servers from your PC at any time!
    Medal of Honor: Web Server Master List - Find and browse all Medal of Honor servers online using your browser!
    Add your Medal of Honor Server to the Master List
    YouTube Video for Medal of Honor: Query Launcher and MOHAASERVERS.TK!



    MOHAA Mods and Utilities
    OwN-3m-All's Mods
    Make Me Stock - A program that allows you to easily move-in and move-out non-stock mods and other files at the click of a button. Automates adding / removing mods without having to copy / move files manually.



    Quality Game Servers

    Rent dedicated Dallas Texas, Kansas City, Las Vegas Nevada, Chicago, Pennsylvania, and Sofia Bulgaria MOHAA and other game servers from We Be HostiN starting at $10 a month.


  4. #24
    Developer Sor's Avatar
    Join Date
    Aug 2010
    Location
    The Medieval City of Bruges
    Posts
    747

    Default

    That's saying the same thing, right? If you know what the player intermission event is, then you know it will be followed by either a map change or a restart.

    It's not just 'rcon map', any method will produce the same results because they all call the same internal function which does a restart if (map == nextmap).
    Last edited by Sor; May 22nd, 2013 at 07:23 PM.
    Morpheus Script (MoH) => You try to shoot yourself in the foot only to discover that MorpheusScript already shot your foot for you.

  5. #25

    Default

    Quote Originally Posted by Sor View Post
    That's saying the same thing, right? If you know what the player intermission event is, then you know it will be followed by either a map change or a restart.

    It's not just 'rcon map', any method will produce the same results because they all call the same internal function which does a restart if (map == nextmap).
    I changed a few things from what you originally said.

    For example, try running obj/obj_team2. Use "rcon map obj/obj_team2" -- map change intermission should occur because you see the map loading screen again as the map is loaded....

    Try running obj/obj_team2. Let fraglimit expire and have the maplist set to only run obj/obj_team2. You'll see the restart intermission type activate and then the fraglimit is reset on the map.
    Browse MOHAA Servers Post GameSpy Era

    VISIT MOHREBORN.COM FOR LATEST INFORMATION



    Medal of Honor: Game Server Browser Fixer - Patches your MOHAA, MOHSH, and MOHBT game binaries to allow you to retrieve a list of game servers within the multi-player menu in-game even after GameSpy ceases operation!

    Medal of Honor: Query Launcher - Find, browse, organize, join, get your ping, and get more information regarding all Medal of Honor (AA, SH, & BT) servers from your PC at any time!
    Medal of Honor: Web Server Master List - Find and browse all Medal of Honor servers online using your browser!
    Add your Medal of Honor Server to the Master List
    YouTube Video for Medal of Honor: Query Launcher and MOHAASERVERS.TK!



    MOHAA Mods and Utilities
    OwN-3m-All's Mods
    Make Me Stock - A program that allows you to easily move-in and move-out non-stock mods and other files at the click of a button. Automates adding / removing mods without having to copy / move files manually.



    Quality Game Servers

    Rent dedicated Dallas Texas, Kansas City, Las Vegas Nevada, Chicago, Pennsylvania, and Sofia Bulgaria MOHAA and other game servers from We Be HostiN starting at $10 a month.


  6. #26
    Developer Sor's Avatar
    Join Date
    Aug 2010
    Location
    The Medieval City of Bruges
    Posts
    747

    Default

    Quote Originally Posted by own3mall View Post
    For example, try running obj/obj_team2. Use "rcon map obj/obj_team2" -- map change intermission should occur because you see the map loading screen again as the map is loaded....

    Try running obj/obj_team2. Let fraglimit expire and have the maplist set to only run obj/obj_team2. You'll see the restart intermission type activate and then the fraglimit is reset on the map.
    Oh apparently so... goddamn, I must've been quite shitfaced yesterday if I was that mistaken

    EDIT: Okay, I had a server... once... but I forgot all this config and maplist stuff. Something like "dm/mohdm1 dm/mohdm1 dm/mohdm3"
    apparently triggers the same 'one map rotation' situation where only 'dm/mohdm1' is restarted while 'dm/mohdm3' is never played.

    So you can't play the same map twice in a row in the same rotation? If so, further testing is pointless then... so let's keep it at
    'one map rotations cause restarts instead of reloads'. In any case, it seems the rotation system is responsible for these restarts.

    EDIT2: Oh! Now I remember, the map will restart if you use bsptransition or leveltransition to load the same map
    Last edited by Sor; May 23rd, 2013 at 08:03 AM.
    Morpheus Script (MoH) => You try to shoot yourself in the foot only to discover that MorpheusScript already shot your foot for you.

  7. #27

    Default

    Quote Originally Posted by Sor View Post
    Oh apparently so... goddamn, I must've been quite shitfaced yesterday if I was that mistaken

    EDIT: Okay, I had a server... once... but I forgot all this config and maplist stuff. Something like "dm/mohdm1 dm/mohdm1 dm/mohdm3"
    apparently triggers the same 'one map rotation' situation where only 'dm/mohdm1' is restarted while 'dm/mohdm3' is never played.

    So you can't play the same map twice in a row in the same rotation? If so, further testing is pointless then... so let's keep it at
    'one map rotations cause restarts instead of reloads'. In any case, it seems the rotation system is responsible for these restarts.

    EDIT2: Oh! Now I remember, the map will restart if you use bsptransition or leveltransition to load the same map
    I think you can configure the same map to run again in the rotation, but why would you do so? Once all of the maps have been played in rotation, the cycle starts again.
    Browse MOHAA Servers Post GameSpy Era

    VISIT MOHREBORN.COM FOR LATEST INFORMATION



    Medal of Honor: Game Server Browser Fixer - Patches your MOHAA, MOHSH, and MOHBT game binaries to allow you to retrieve a list of game servers within the multi-player menu in-game even after GameSpy ceases operation!

    Medal of Honor: Query Launcher - Find, browse, organize, join, get your ping, and get more information regarding all Medal of Honor (AA, SH, & BT) servers from your PC at any time!
    Medal of Honor: Web Server Master List - Find and browse all Medal of Honor servers online using your browser!
    Add your Medal of Honor Server to the Master List
    YouTube Video for Medal of Honor: Query Launcher and MOHAASERVERS.TK!



    MOHAA Mods and Utilities
    OwN-3m-All's Mods
    Make Me Stock - A program that allows you to easily move-in and move-out non-stock mods and other files at the click of a button. Automates adding / removing mods without having to copy / move files manually.



    Quality Game Servers

    Rent dedicated Dallas Texas, Kansas City, Las Vegas Nevada, Chicago, Pennsylvania, and Sofia Bulgaria MOHAA and other game servers from We Be HostiN starting at $10 a month.


  8. #28
    Developer Sor's Avatar
    Join Date
    Aug 2010
    Location
    The Medieval City of Bruges
    Posts
    747

    Default

    So far, I think the intermission types are pretty straightforward and work as expected (except for a one-map-rotation issue, but that's just how the game works).

    The only real issue in my view is something only Razo can fix:
    * when a round ends, the player intermission event is not triggered.

    Not concerning the intermission event:
    * spawn event will not fire for connected players who are auto-spawned.

    This is has to do with the fact that a level can be loaded with or without the player data of the previous level.
    Bsptransition will load with data and leveltransition will drop it. This is why I like to use these.

    In the former case, only team and primarydmweapon are saved. If team is saved, they auto-join that team and
    the team selection menu is skipped. If primarydmweapon is saved (it is cleared when you enter spectator mode),
    then the weapon selection menu is skipped and the player is auto-spawned.

    You'll also see this behaviour if you try this on a spectator in script:
    Code:
        local.player join_team allies
        local.player primarydmweapon rifle
    Not sure why the spawn event misses this. Perhaps it's something simple as an 'if{}else if{}' that should be 'if{}if{}'.

    Technically, I can fix this in the framework's event handler but this requires the connected event , so it'll be a
    bit messy to solve this via script. If RR has time, I'd prefer it if he fixed this in the patch.
    Last edited by Sor; May 23rd, 2013 at 10:38 AM.
    Morpheus Script (MoH) => You try to shoot yourself in the foot only to discover that MorpheusScript already shot your foot for you.

  9. #29
    Administrator James's Avatar
    Join Date
    May 2010
    Location
    on the intraweb
    Posts
    3,071

    Default

    The only real issue in my view is something only Razo can fix:
    * when a round ends, the player intermission event is not triggered.
    I'm looking at the code, and I think I see why this is happening.
    I think it should be fairly simple to get your first request working Sor.

    Not sure about the spawning though...

  10. #30
    Developer Sor's Avatar
    Join Date
    Aug 2010
    Location
    The Medieval City of Bruges
    Posts
    747

    Default

    Really? I'm interested. What specifically causes it?
    Morpheus Script (MoH) => You try to shoot yourself in the foot only to discover that MorpheusScript already shot your foot for you.

Page 3 of 4 FirstFirst 1234 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •